Qu'est-ce que phpstan levels ?

PHPStan est un outil d'analyse statique pour PHP, qui permet de détecter des erreurs potentielles dans le code PHP avant son exécution. Les "niveaux PHPStan" font référence aux différents degrés d'analyse effectués par PHPStan lorsqu'il examine votre code.

PHPStan propose cinq niveaux de détection d'erreurs, allant de 0 à 4.

  • Niveau 0 : Aucune détection d'erreurs. PHPStan ne fait aucune vérification de type et ne signale aucune erreur. C'est généralement le niveau par défaut, lorsque vous n'avez pas configuré PHPStan explicitement pour un niveau supérieur.

  • Niveau 1 : Une détection d'erreurs minimale. PHPStan analyse le code à la recherche d'erreurs de syntaxe et rapporte les erreurs évidentes. Il ignore les déductions de types dynamiques.

  • Niveau 2 : Une détection d'erreurs de base. PHPStan effectue des analyses plus avancées et peut détecter des erreurs de type dans le code, ainsi que certaines erreurs potentielles telles que les méthodes inutilisées ou les variables non initialisées.

  • Niveau 3 : Détection d'erreurs recommandée. PHPStan effectue une analyse approfondie du code, y compris la vérification de type plus avancée et la détection d'erreurs potentielles supplémentaires, comme les problèmes de compatibilité entre les versions PHP.

  • Niveau 4 : Détection d'erreurs maximale. PHPStan effectue une analyse exhaustive du code, y compris les contrôles de flux de programme complexes et les erreurs potentielles liées aux performances et à la sécurité.

Il est recommandé d'utiliser PHPStan avec le niveau de détection d'erreurs le plus élevé possible pour obtenir les résultats les plus précis. Cependant, un niveau plus élevé peut également entraîner une augmentation du temps d'exécution de PHPStan. Il est donc important de trouver un équilibre entre la précision de la détection d'erreurs et les performances de l'analyse.

Pour configurer le niveau de détection d'erreurs dans PHPStan, vous devez définir la valeur correspondante dans le fichier de configuration PHPStan (phpstan.neon) de votre projet. Par exemple, pour définir le niveau 3, vous pouvez utiliser :

parameters:
    level: 3

En conclusion, les "niveaux PHPStan" déterminent le degré de détection d'erreurs et d'analyse statique du code PHP effectué par l'outil PHPStan. Choisissez le niveau le plus approprié en fonction de vos besoins en matière de détection d'erreurs et de performances.